// if (true) {
//   //   var foo = "zce";
//   let foo = "zce";
// }
// console.log(foo);

// for (var i = 0; i < 3; i++) {
//   for (var i = 0; i < 3; i++) {
//     console.log(i); //0 1 2 内层的i=3时覆盖外层的i，退出外层循环
//   }
// }

// for (let i = 0; i < 3; i++) {
//   for (let i = 0; i < 3; i++) {
//     console.log(i); //0 1 2 内层的i是内部的变量不会影响外部
//   }
// }

//--------------------------------------------------------------------------
var elements = [{}, {}, {}];
for (var i = 0; i < elements.length; i++) {
  elements[i].onclick = function () {
    console.log(i);
  };
}

// var elements = [{}, {}, {}];
// for (var i = 0; i < elements.length; i++) {
//   elements[i].onclick = (function (i) {
//     return function () {
//       console.log(i);
//     };
//   })(i);
// }
var elements = [{}, {}, {}];
for (let i = 0; i < elements.length; i++) {
  elements[i].onclick = function () {
    console.log(i);
  };
}
elements[0].onclick();
elements[1].onclick();
elements[2].onclick();
var tmp = 123;
if (true) {
  console.log(tmp);
  let tmp;
}
